<template>
  <view class="login-container">
    <!-- 提示登录的图标 -->
    <uni-icons type="contact-filled" size="100" color="#AFAFAF"></uni-icons>
    <!-- 登录按钮 -->
    <button type="primary"  @click="getUserInfo"  class="btn-login">一键登录</button>
	
    <!-- 登录提示 -->
    <view class="tips-text">登录后尽享更多权益</view>
  </view>
</template>

<script>
	// 1. 按需导入 mapMutations 辅助函数
	// import { mapMutations } from 'vuex'
import badgeMix from '@/mixins/index.js'
// 1. 从 vuex 中按需导入 mapState 辅助函数
import { mapState,mapMutations } from 'vuex'

export default {
  mixins: [badgeMix],
  computed: {
    // 2. 从 m_user 模块中导入需要的 token 字符串
    ...mapState('user', ['token']),
  },
  data() {
    return {avatarUrl: '',}
  },
  
  methods:{
	  
	

	  
	  
	  
	  
	     // 2. 调用 mapMutations 辅助方法，把 m_user 模块中的 updateUserInfo 映射到当前组件中使用
	      ...mapMutations('user', ['updateUserInfo','updateToken']),
 getUserInfo(e){
	// uni.getSetting({
	//    success(res) {
	//       console.log(res.authSetting)
	//    }
	// })
	 var data;
		 uni.getUserProfile({
			 desc:'用于填写用户资料',
			  success: (res) =>{
			       uni.showToast({
			       	title: '授权成功！',
			       	duration: 2000
			       });
				   
				   
				   data=res.userInfo
				   console.log(data);
				      this.updateUserInfo(data)
					  // 调用登录接口
					  this.getLogin(res)
			       },
				   fail: function (res) {
			       uni.showToast({
			       	title: '您未授权！',
					icon:'error',
			       	duration: 2000
			       });
			       },
		 })
		 
		    // this.updateUserInfo(data)
		   // 3. 将用户的基本信息存储到 vuex 中
		  
		 // console.log(datya);
	  },
	 async getLogin(res){
		  
		  var code;
		  let data =  await uni.login({
			  univerifyStyle: { 
    fullScreen: true
  }
		  })
		console.log(data);
		    // 准备参数对象
		    const query = {
		      code: data[1].code,

		    }
		 // 换取 token
		  const {data:token} = await uni.$http.post('/lan/login', query)
		  // 2. 更新 vuex 中的 token
		  
		  if(token.code==200){
			  console.log(token);  
			this.updateToken(token.token)
			
			
		  }
		
		  // if (loginResult.meta.status == 200){  uni.showToast({
			 //       	title: '登录失败！',
				// 	icon:'error',
			 //       	duration: 2000
					
			 //       });
				//    return     
				//    } 
		
		
				   
				
		 uni.showToast({
		 	title: '登录成功！',
		 	duration: 2000
		 });
	  }
  }
}
</script>

<style lang="scss">
.login-container {
  // 登录盒子的样式
  height: 750rpx;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #f8f8f8;
  position: relative;
  overflow: hidden;

  // 绘制登录盒子底部的半椭圆造型
  &::after {
    content: ' ';
    display: block;
    position: absolute;
    width: 100%;
    height: 40px;
    left: 0;
    bottom: 0;
    background-color: white;
    border-radius: 100%;
    transform: translateY(50%);
  }

  // 登录按钮的样式
  .btn-login {
    width: 90%;
    border-radius: 100px;
    margin: 15px 0;
    background-color: #029d94;
  }

  // 按钮下方提示消息的样式
  .tips-text {
    font-size: 12px;
    color: gray;
  }
}
</style>